Method and system for providing quick directions

ABSTRACT

A method and system for providing a telephone caller information assistance such as driving directions from a starting location to a destination location. To obtain information assistance, the caller places a telephone call to access the system. If the geographical location of the caller can be determined by an automatic location identification system it is displayed on an operator console where the caller&#39;s request is transferred to be handled by a live operator. The operator receives the caller&#39;s destination request and queries the system for the street route driving instructions to the requested destination. After obtaining the street route driving instructions, the call can be transferred to an audio box having an interactive user interface capable of replaying the desired information to the caller. In an illustrative embodiment, the interactive user interface is capable providing functions to stop, start, pause, and replay the information to the caller.

BACKGROUND OF THE INVENTION

A. Field of the Invention

The present invention relates to a method and device for providinginformation assistance to telephone callers. More particularly, thepresent invention is capable of providing information assistance basedon an automatic identification of the caller's location and providing anuser interface to communicate the information over the telephone to thecaller.

B. Description of the Related Art

Today, travel directions to a destination location can be obtained indifferent ways. Internet web sites now provide map routing software thatgenerate and display driving instructions from one starting location toanother destination location. The traveler enters the desired starting(from) location and the desired destination (to) location into thesoftware program and has the option to select the fastest, easiest, orshortest distance driving directions to the destination location. Themap routing software determines the route to the destination anddisplays it on the user's display terminal with step-by-step drivingdirections, estimated travel times, and mileage from the startinglocation to the ending location. This type of map routing software,however, requires a traveler to plan his trip in advance and haveInternet access. It is of little assistance in the situation when atraveler becomes lost during his trip, needs assistance with directions,and does not have ready access to the Internet.

Recently, Global Positioning Satellite (“GPS”) navigation systems allowa traveler to track his location in real-time as he travels on thesurface of the earth. In-car GPS-guided navigation systems allows anautomobile driver to track his current location in real-time and obtainvoice and visual directions on how to get from his current location to adestination location. Destination locations can be selected from anin-car terminal by street address, street intersections, or city. Theseon-board navigation systems also include categorical search tools thatallow users to find points of interest such as museums, parks, airports,stores, etc. To reach his destination, the driver is given specificdriving instructions from an in-car terminal on how far to proceed andwhen to turn and exit. These on-board navigation systems, however, arecomplex and expensive, require a considerable up front investment and acomplex installation procedure.

Today, many wireless telephone service providers also provide atelephone service that allows users to dial “*nnn” or a 7/10 digittelephone number to reach a live operator who can provide expresswaytravel times, weather conditions and driving directions. The callersspecify their current and future locations by providing the nearestcross street intersection or street address. Destinations can beselected by white or yellow page listings, street address, or crossstreet intersection. The live operator also has categorical search toolsthat allow callers to find points of interest. This service, however,requires the caller to specify their current location and is thereforenot useful to those who are lost and uncertain of their currentlocation.

In addition, the retrieval of driving instructions over the telephonerequires a live operator to relay the driving instructions to thecaller. The caller must transcribe each sequence of the drivingdirections while the operator waits on the telephone, thus reducing theproductivity of the operator.

Needed is an improved system to information and travel directions, whichis readily accessible to travelers.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features and advantages of the presentinvention will be more readily appreciated upon reference to thefollowing disclosure when considered in conjunction with theaccompanying drawings, in which:

FIG. 1 is an overall system diagram of a system;

FIG. 2 shows an illustrative diagram of a call detail record used in thesystem of FIG. 1;

FIG. 3 shows an diagram of the generation of route instructions used inthe system of FIG. 1;

FIGS. 4 through 12 are command menu charts of an illustrative embodimentof the interactive user interface used in the system of FIG. 1; and

FIG. 13 is a flow chart of an illustrative method used in the system ofFIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present embodiment allows telephone callers to place a telephonecall to a telephone number to obtain information and assistance inlocating selected destination locations and obtain step-by-step drivingdirections to reach the selected destination locations over thetelephone. An illustrative embodiment provides the ability toautomatically identify the calling party's calling location withoutrequiring the caller to manually identify his location. The callinglocation can then be used to map a route to the destination location anddetermine the proper driving instructions for the caller to arrive atthe requested destination location.

In a described embodiment of the invention, telephone callers place atelephone call to access the system and select a desired destinationlocation. The destination location may be selected from a white oryellow pages listing through an automated interactive voice responsesystem or a live human operator. The destination location may be anylocations such as a person or individual, or a street address, hotel,stores, restaurant, business office, etc. listed in the white or yellowpages directory.

After selecting the desired destination location, the caller may receivedriving route instructions to the destination location from the system.For example, the caller's location and the desired destination locationis sent to a database with application software which can map a routeand provide driving instructions from the caller's location to thedesired destination location or from another location to the desireddestination location. The database and application software maps thedriving route and determines step-by-step driving instructions to reachthe destination. In a particular embodiment, the route to thedestination location can be mapped taking into account the routetraffic, travel-times, road conditions, and route weather conditions.

The caller may receive the driving or route instructions in a variety ofdifferent ways. The route instructions can be communicated directly overthe telephone from an interactive voice response system, a liveoperator, a synthesized voice, a voice mail message, and Internetelectronic mail, an alpha/numeric pager or telephone or a PersonalDigital Assistant (“PDA”).

In another aspect of the present embodiment, an interactive userinterface to provide access to information over the telephone isdescribed. The user interface is particularly adapted to provide aconvenient interface so that a user can obtain route or drivinginstructions to a destination location over a voice telephone call. Theuser interface provides a number of commands or specified keys to allowa listener to easily stop, start, review, and skip through thestep-by-step route driving instructions. The route instructions may becoded to demarcate points that are convenient points to stop and startthe instruction messages such that the user can listen and record theinstructions or listen and pause the instructions while they areactually driving the route. The user interface provides a convenientmechanism for callers to obtain the route instructions, as well as otherinformation over the telephone.

FIG. 1 shows a system level diagram of an illustrative embodiment of thepresent invention. Shown in FIG. 1 are a telephone subscriber or caller12 accessing the system as a caller seeking assistance, an access orswitching network 14 such as the Public Switched Telephone Network(“PSTN”) provided by local telephone companies such as Ameritech andlong distance carriers such as AT&T and WorldCom/MCI. A switch device 16such as a DMS-200 from Nortel or an Automatic Call Distributor (“ACD”)such as those from the Rockwell Corporation, which provides access toand routes calls through the system. Also shown is an operator consoleor workstation 18 where a human operator to handle calls may be located,and a database 20, which may include a plurality of databases. In anillustrative example, the database 20 may include a directory listingdatabase 22, a GEO TN database 23, and a routing database 24. Also shownis a gateway 26 interface that receives driving route instructionsgenerated from the routing database 24. The gateway 26 interfacetranslates the text route directions to interface the route directionsto the audio box 28. For example, the route instructions may begenerated in a text format that the gateway 26 interface translates to adata format appropriate for the audio box 28. The appropriate dataformat may be a specialized text format that can be forwarded on to theaudio box 28. The audio box 28 translates the route instructions intoaudio speech that can be heard by a caller using speech synthesis. Theaudio box 28 allows a caller to retrieve directions without thecontinued interactive assistance of a human operator.

Described below in connection with FIG. 1 is an overview of anillustrative embodiment of the system in operation. A telephone calleror user 12 desiring assistance with a variety of services such as traveldirections, maps, weather, traffic travel times, directory assistancewhite page listings, and road conditions originates a telephone call toa dial-in telephone access number to access the system 13. For example,a landline or a mobile cellular telephone subscriber 12 dials thetelephone number of the dial-in access telephone number. The telephonecall is routed through the switching network 14 to the dial-in accesstelephone line terminated to the switch 16. The switching network 14 mayinclude the PSTN as previously described. The dial-in telephone accessnumber is preferably a double digit, 7-digit, 10-digit or toll freetelephone number such as an “800” or “888” telephone number. To providegreater call capacity, a high-capacity telephone line, such as a T1 orPrimary Rate Interface circuit may be used to implement the accesstelephone line. Wireless telephone users may be configured to simplydial a “*NNN” to access the system. In a preferred embodiment, theservice may be accessed through a basic “411” directory informationservice. For example, callers may dial 411 to obtain directoryinformation and also be given the option to obtain street drivinginstructions to the requested directory listing. If driving routedirections are desired, the telephone call may be routed to theappropriate operator console to handle obtaining the drivinginstructions. Alternatively, the system may be setup such that all the411 operators are trained and equipped to handle the calls requestingdriving instructions.

The switch 16 answers the incoming telephone call arriving on the accesstelephone number and forwards the call to the operator console 18 wherea live operator can handle the call. The switch 16 can be any suitableswitching equipment such as an ACD, DMS series switch from Nortel, #5ESS from Lucent Technologies, Galaxy 500 or other Private BranchExchange (“PBX”) switching equipment. The switch may also be embodied asan automatic call distributor (“ACD”) that automatically distributesincoming calls in the sequences that they are received.

Preferably, a call detail record data structure is also created and sentto the operator console 18 along with the forwarded telephone call. Thecall detail record may contain a variety of information regarding thearriving telephone call which can be displayed on the operator console18 to provide the operator information regarding the incoming telephonecall. In the illustrative embodiment, the call detail can include anumber of pre-populated fields to show the operator a number of detailsregarding the call such as the calling telephone number, the calledtelephone number, the location of the caller, and the station type ofthe calling telephone number. Different station types such as coin orpay station, residence, or hotel telephone systems are well known tothose skilled in the art. For example, in an illustrative embodiment thecalling location of the incoming telephone calling is determined using asuitable calling telephone location technology 17 as will be describedin further detail below. The location of the caller determined by theANI is sent to the call detail record to the operator console 18.

The operator console 18 displays the call details to the operator whilethe call is being handled. Referring now to FIG. 2, shown is anexemplary display of the operator console 18 while handling a callrequesting directions to a destination location. It should be understoodthat FIG. 2 is a simplified illustrative drawing and the operatorconsole display can be implemented as a Windows-type interface. At thebottom of the screen, a call detail window 32 can display callinformation from the call detail record, such as the ANI or locationwhere the caller and the desired ANI where the caller wishes thedirections to start. Often the caller's ANI and the desired ANI will bethe same. The caller may also, however, request that directions be givenfrom a different location, resulting in a different desired startinglocation. The address fields and the cross street information can bedetermined from the ANI and the database information. The station typeof the caller may also be displayed, but is not explicitly shown in thisexample. The operator views the call details and queries the subscriber12 for his or her request. Preferably, the caller's location isautomatically identified and displayed on the operator console 18 asdescribed above. Of course, the operator can request the caller for thestarting location to confirm the automatically identified location. Theoperator can accept the information in the call detail window 32 or makeany changes or correction to the information before making the requestto the database to map the route.

The caller's request is entered into the operator console 18 or if thecaller wishes to search for a destination location, a search is launchedagainst a listing database for candidate listings according to thecaller's request. In the illustrative embodiment of the invention, thelistings that can be searched include desired destination locations suchas street addresses, hotels, stores, restaurants, business offices andthe like that may be listed in the white or yellow pages.

If the desired listing(s) is found, the operator quires the caller 12whether directions are need to the selected destination location or forany other location the caller 12 may be interested in obtaining routinginformation. If the caller wishes to receive directions to thedestination, the operator uses the starting and destination locations todetermined an appropriate driving route between the locations.

The starting and ending locations are be applied to a database 23containing Geo-coded location information to obtain the physicalgeographic coordinates of the desired locations. The physical geographiccoordinates allow the geographic locations of starting and destinationlocations to be determined. A geo-coded database provides geographicvertical and horizontal location coordinates in the form of latitude andlongitude coordinates for nodes such as street addresses and significantlandmarks.

Referring to FIG. 3, the starting and destination locations are appliedto a database 20 to map a route and create step-by-step route drivinginstructions between the starting location and the selected destinationlocation. Preferably, a map routing software program 21 applies thegeo-coordinates of the selected locations to the routing database 24 todetermine appropriate routing instructions 25 from the startinggeo-coordinate to the ending geo-coordinate as will be described in moredetail below. In the illustrative embodiment, the route instructions ordriving directions 25 are step-by-step street driving instructions. Theroute instructions 25 can then be passed to the operator console 18 forthe operator to view and relay to the caller. Referring again to FIG. 2,the route instructions can be displayed on the main portion or window 34displayed on the operator console 18. Preferably, the instructions aredemarcated in a step-by-step manner as illustrated in FIG. 2.

To communicate the route information 25, the operator may simply recitethe route instructions to the caller, or alternatively may release theroute instructions 25 to the text-to-speech audio system toautomatically play the instructions to the caller. The text-to-speechaudio system preferably includes an audio gateway 26 and audiotranslation box 28 suitable for translating text route instructions 25to synthesized speech. In addition, the audio translation box 28preferably includes an interactive user interface 29 that allows a userto control the playback of the driving route instructions. Using theinteractive user interface 29, a user can receive the route instructions25 and control how the route instructions 25 are played back without theassistance of a live operator at the operator console. Use of the audiobox 28 to provide instructions to the caller also improves theproductivity of the human operator. The operator can pass the call on tothe audio translation system to communicate with the user and proceed tohandle the next caller.

Described below is a description of an illustrative embodiment of thepresent invention providing a more detailed description of theparticular components.

Referring again to FIG. 1, to initiate access to the system, the caller12 preferably originates a telephone call to a dialup access telephonenumber. Telephone calls are primarily originated from either traditionalfixed location landline telephones or mobile wireless telephones. Mobilewireless telephone may include cellular, personal communication systems(“PCS”), satellite telephones, etc.

After the telephone call is answered by the switch 16, the geographicallocation of the telephone caller is determined using an appropriatecaller location system 17 capable of identifying the geographicallocation of the caller. To identify the geographical location of thecaller 12, several techniques can be used depending on the particulartelephone (i.e., landline or mobile telephone) originating the call.Several exemplary telephone caller location identification systems 17are described below in further detail. The location of the caller 12 canthen be communicated to the operator by including the geographicallocation with a call detail record data structure that is transferred tothe operator console 18.

For example, the location of a telephone caller 12 from traditionalfixed location land-lines can be identified using the automatic numberidentification (“ANI”) of the originating calling telephone number toindex into a directory listing database or Name, Address and Telephonenumber Database (“NATD”) 22. From the ANI of the calling telephonenumber, the NATD 22 can be accessed for the address of the originatingtelephone number. The originating telephone number address can then beused to determine the geographic location of the telephone number byaccessing the Geo TN or Geo-code database 23.

In the exemplary system 14, automatic number identification (“ANI”) or acalling number location identification may be used to identify theoriginating calling telephone number which is passed in the call detailrecord to the operator console 18. In the illustrative embodiment, theoperator console 18 may access an IBM Reduced Instruction Set Computer(“RISC”) with the AIX operating system such as provided with thedirectory assistance platform from the IBM Corporation. The operatorconsole 18 can then access NATD database 22 to return the street addressassociated with originating telephone number. Preferably, the NATDdatabase 22 contains the street address of all the telephone lineslocated in the contiguous United States. Such a NATD 22 can be providedin conjunction with the nationwide directory assistance platformsoperated by the local exchange carriers or other telephone serviceproviders. In the preferred embodiment, the NATD database 22 alsocontains physical geographic location information for each telephoneline in the database as implemented in the Geo-code database 23. Forexample, each telephone line listing may include physical location orgeographic coding (“geo-coding”) parameters such as physical x, ycoordinates which can be utilized to identify the address and latitudeand longitude coordinates of the originating telephone line. Thephysical location of a fixed land-line telephone call can be determinedusing ANI to identify the calling telephone number and then using thecalling telephone number to index into the NATD database to access thegeo-code location of the calling party as described above. Preferably,significant landmarks such as cross-street intersections, interstatehighway exit numbers, local communities are also added to the NATDdatabase with x, y geo-coding.

If the ANI telephone number of the caller 12 is matched by the NATDdatabase 22, the NATD record with the geo-code of the caller's locationis included in the call detail which is passed on to the operatorconsole 18. If the caller's calling location cannot be automaticallydetermined, a message is indicated in the call record sent on to theoperator. The caller's location must then be manually identified throughinteraction with the human operator that the caller location was notavailable.

In another illustrative embodiment with wireless mobile telephone, thecallers 12 may be mobile and their location will most likely vary witheach telephone call. In this illustrative embodiment, an automaticlocation identification (“ALI”) technology 17 is preferably used todetermine the location of wireless telephone callers. The most commontype of ALI technology 17 for mobile wireless telephones utilizes anetwork-based approach that applies mathematical algorithms to theattributes of the wireless telephone radio frequency (“RF”) signalsreceived at a base station of the wireless network. Such locationalgorithms using the precise timing in which the RF signal arrivesdifferent base stations, the angle of arrival of the signal, and theamplitude of the signal are well known to those skilled in the art. Toanalyze RF signals, additional electronic hardware to analyze and locatethe origin of the signals is required at the base stations. The mainadvantage of a network-based location technology is that it can beutilized with existing networks using existing telephone wirelesshandsets. A separate network to locate the caller and new callerhandsets are not required.

Alternatively, ALI of mobile wireless telephone calls may be implementedwith a dedicated radio location network using a separate infrastructureand different frequencies than those used by cellular, PCS, paging,mobile satellite or SMR carriers, to determine the location of thecaller. A dedicated location network is employed to triangulate theposition of the caller though an analysis of RF signals received atdifferent points in the location network. Presently, the primaryfrequency band used for radio location is known as the location andmonitoring services (“LMS”) band at 902-928 MHz. An example of an ALItechnology using a dedicated radiolocation network is provided byTeletrac, Inc. The Teltrac system is available primarily in majormetropolitan areas for fleet management solutions such as automaticvehicle tracking (“AVL”) and related assets tracking services. Inaddition, the most prevalent ALI technology today is Global PositioningSatellite (“GPS”) technology. GPS technology uses a network of 24 earthorbiting satellites to track a GPS receiver's location on the earth withan accuracy between 60 and 300 feet. The GPS receiver's location isdetermined by triangulating a timing and distance measurement between aplurality of the earth orbiting GPS satellites and a GPS receiver on thesurface of the earth. GPS location frequencies are provided by U.S.Government at well-known frequencies. Location technology equipment isavailable from a number of manufacturers such as Rockwell, Trimble orNavtech.

After the originating geographic location of the incoming call isdetermined, the call is sent to an operator console 18 to allow callers12 to specify their desired destination location. Switching device 16switches the incoming telephone call to the operator workstation 18 toconnect the call with a live operator. The operator workstation 18 willdisplay the ANI and calling location of the telephone caller 12 to theoperator console 12 if the ALI has determined the caller's location. IfALI could not identify the caller location, the call detail will notshow the caller's location on the operator console 18 and the liveoperator must query the caller to manually obtain the originatingcalling location.

After the location of the caller is identified, the caller location isincluded in a call detail that is sent to the operator console 18 anddisplayed to the operator. Because a caller's location has beendetermined, the operator need not query callers for their locationunless there was problem with the ALI. The operator can then move on toimmediately query callers for their requests, thus speeding the handlingof calls and increasing the productivity of the operator.

The present embodiment can provide a variety of services for callers 12such as those provided by directory assistance, weather, time of day,yellow pages assistance, etc. For example, in an illustrative embodimenta caller 12 may wish to obtain travel directions from his currentlocation to a selected destination location. Callers 12 may request theoperator conduct a search for a selected destination locations in avariety of different ways. For example, the caller may be seeking therestaurant or grocery store nearest his calling location. Using thelocation identified by the ALI, the operator can launch a databasesearch for any such establishments in the proximity of the caller. In anillustrative embodiment, the destination location is selected from awhite pages listing database that includes complete address information,x, y coordinates and geo-codes for each listing. The address informationpreferably includes street, city, state, zip code, municipality,community, and the county of the listed locations. In addition to simplyidentifying the listing, individual listings in a database 20, such as awhite pages listing database, can preferably be selected orcategorically searched in many different ways. For example, the whitepage listings database may include a search engine that can search thedatabase by street, city, state, zip code, municipality, community,county or any combination of fields. Appropriate search engines areavailable from a variety of sources including the IBM Corporation. Thedatabase 20 may also allow the selection of listings by category type ofthe listing, i.e., restaurants, gas stations, stores, libraries,airports, etc. In addition, the database 20 may also be searched forlocations within a specific proximity or specified distance from thecaller's location. In such a proximity search, the geo-code location ofthe caller is identified and the geo-codes of the categories of entriesare searched for those entries within the desired location. In addition,various combinations of the different criteria may be utilized to searchand select white page listings.

In a particular embodiment, callers may request information from theoperator and select destination locations. The operators can access andsearch the database 20 in accordance with callers'requests to obtain andview the search results. The operator can also interactively relaylistings, search results, and step-by-step driving instructions back tocallers 12.

In an illustrative embodiment of the invention, it is contemplated anautomated interactive voice response system provided by the audio box 28allows callers 12 to access the information without requiring a livehuman operator. Alternatively, a user may access the system using acomputing device with a modem and a computer display. Preferably thecomputing device is a portable computer such as a handheld or pahntopcomputer which can be used by a caller who is traveling and away fromthe office. The portable computer may have any suitable interface anddisplay for showing text and preferably even graphics capability fordisplaying maps. The portable computer may have a Windows CE, Palm OS,Apple Newton or other operating system suitable for a portable computer.Suitable computing platforms include portable devices such as a PalmPilot, Apple Newton, portable Windows CE machines, or similar portablemachines from Psion, Phillips, Hewlett-Packard, and other manufacturersof portable computing devices. These portable-computing devices can beused to access into the system on a dialup telephone line that can beprovided to allow access by a computer terminal. Once accessed to thesystem, the user can operate the system through a computer interface,without requiring an operator.

After determining the caller's location and identifying the caller'sdesired destination location, a route between the two locations can bemapped and step-by-step driving directions generated according to themapped route. The map routing software typically includes a database 20such as a route information database 24 storing map routing information.The map routing software is applied to the database 20 preferablycontaining street map or routing information to derive the appropriateroute between the locations. The map routing software takes a startinglocation and a destination location and maps a route between the twolocations using the geographic location coordinates of the starting anddestination locations. The mapped route can then be used to generateconcise step-by-step driving or route instructions from the startinglocation to the destination location. The total distance of the mappedroute and estimated driving time and estimated time of the caller'sarrival can also be provided. Preferably, the mapping software convertseast, west, north, and south directions into left and right turninstructions. Map routing application software capable of generatingdriving directions are well known to those of skill in the art. Forexamples, such software can be found on the Internet at sites such asMapquest, Expedia, Citysearch, and Mapblast.

In a particular embodiment, the mapping application software can beprovided in conjunction with a variety of real-time information such asweather, traffic travel times, and road conditions. For example, localtransportation authorities offer real time traffic information on thelocal highways and interstate roads. These systems typically providetravel times between selected locations as well as the speed of movingtraffic at road sensors embedded into the roadway monitoring the speedof moving traffic. Road construction information is also provided by thelocation of the construction (i.e., “Eastbound I-88 at the Fox RiverBridge”), the construction type (i.e., “Road Closure” or “Lane Closure”)and the duration of the closure (i.e., “Feb. 20, 1998 08:00 to Feb. 20,1998 14:00”). An example of this type of information is provided by theGary-Chicago-Milwaukee (“GCM”) Priority Corridor - Illinois Departmentof Transportation, Indiana Department of Transportation, and WisconsinDepartment of Transportation in cooperation with the University ofIllinois at Chicago Department of Electrical Engineering and ComputerScience. The federal government has provided funding for these types ofprojects in the IVHS Act of 1991 as part of the Intermodal SurfaceTransportation Efficiency Act of 1991. Additional information can befound at the GCM web page on the Internet. The traffic/constructioninformation can be used by the system to avoid routes that are closed orare experiencing undue delays due to construction. The system can beprogrammed to avoid mapping routes through construction routes bycreating alternative routes, or recalculating routes not using thesections of road under construction.

The map routing application software generates text route instructionsin a format that is human or machine-readable. The text routeinstructions can then be transmitted to the operator console 18 to allowthe operator to view the route instructions. The operator may then relaythe route instructions to the caller.

The mapped route and step-by-step driving directions can be conveyed tocallers in a variety of different ways. Of course, the step-by-steptravel directions can be retrieved by a human operator and relayed to acaller by having the human operator read the directions over thetelephone to the caller. Requiring a live operator read driving routeinstructions, however, may be cumbersome and require the operator spenda long amount of time with each caller. The operator must read thedirections and wait for the caller to hear and record or transcribe eachstep of the directions before the operator can release the call andproceed on to the next caller. The amount of time spent with each calleris thus relatively accordingly long, reducing the number of calls theoperator can handle, and requiring a large number of operators to handlethe expected volume of calls.

Callers accessing the system using a portable-computing device maydownload the route instructions to their computing device and review theinstructions as necessary. The route instructions can be communicatedover a telephone line using standard telephone modems, without requiringthe interaction of an operator.

In another embodiment, callers receive the routing instructions over thetelephone without requiring a portable-computing device or theinteraction of a human operator. In this particular embodiment, theoperator console 18 sends the text routing instructions from the routedatabase 24 to an audio gateway 26 that interfaces the text instructionsto a data format suitable for the audio box 28. The operator console 28also transfers the telephone caller 12 to the audio box 28, which canthen provide an interactive user interface to communicate the routeinstructions over the telephone.

For example, after retrieving the driving directions, the operatorconsole 18 transfers the call to audio box 28. The audio box 28 providesthe interactive user interface system to communicate route instructionsto the caller 12. Preferably, the interactive user interface provides aninteractive voice response system with speech recognition to implementan automated user interface to provide information to callers. The audiobox 28 may include an Interactive Voice Response (“IVR”) system havingspeech recognition and speech synthesis capability. Suitable audiospeech boxes are available from the Lucent Corporation which can beprogrammed with the assistance of the descriptions herein.

The interactive user interface communicates the driving instructions tothe callers and provides callers the ability to:

Pause and continue messages

Back up to previous steps or messages

Skip ahead to successive steps in the directions

Spell street names

Get instructions about using the system

Repeat instruction from the beginning

Return to a live operator

The system allows the caller to speak commands or use the touch-tonekeypad on the telephone handset to enter commands to control theplayback of the directions. Preferably, the interface supports dual tonemulti-frequency (“DTMF”) input and speech recognition with word spottingand barge-in capability. For example, after every menu and at each stepof the instructions, a prompt tone is played to users to indicate theavailability of the speech recognition commands. Preferably, the DTMFcommands are always available to the user. The user will be allowed toperform actions with the DTMF commands while listening to instructionsfor using the system. Announcements and error messages are interruptibleby the DTMF commands. Error messages, however, should not beinterruptible. Preferably, the DTMF interface also supports a type-aheadbuffer to allow users to move through the menus and select commands andoptions without waiting for the system prompts through the menus.

Travel directions may be given to callers using speech synthesis with aspecialized vocabulary provided by the audio box. The route instructionsor directions are given in a sentence-by-sentence manner and segmentedor demarcated by the system on a sentence-by-sentence or turn-by-turnbasis. Preferably, the directions are demarcated at each point where theuser is given an instruction to turn onto a new street in the route. Ateach demarcation point, users will be offered a command to repeat,pause, continue, backup, as well as other options.

In the illustrated embodiment of the invention, the instructions andcommands for a caller retrieving directions to a destination locationare shown in FIGS. 4 through 12. Callers are urged to pull off theroadway before calling the system for assistance. However, it should beanticipated that callers may access the system while driving (againsttheir better judgment), often while simultaneously attempting operate amotor vehicle and not have their hands free for manipulating a keypad.Thus, while receiving directions it is desirable that the caller cancontrol the playback of directions with vocabulary of voice recognizedverbal commands using the speech recognition described herein.

FIGS. 4 to 12 show flow charts of the possible menu selections atvarious points in the interactive user interface menu.

Referring to FIG. 4, shown is a flow chart of an introductory statementplayed to a user allowing the user to obtain further instructions. Atstep 102, the users may verbally request “instructions” or press thestar key “*” followed by the “0” key to hear instructions about usingthe system. The interactive user interface includes speech recognitionto recognize the users'verbally spoken commands to initiate theappropriate menu selection. The speech recognition is programmed torecognize a number of spoken key words that correspond to various menuselections. At step 104, the user may select the option of beingtransferred to a live operator by speaking a key word such as “operator”or pressing the “0” key. At step 106, pause of the playback of thesystem can be selected by saying “pause” or entering the “5” key. Atthis particular menu level, selecting the pause feature will pause thesystem for about 2 seconds. Playback may also be resumed by entering anykey selection. At step 108, the information, which may include the routeinstructions, are played to the user. Step 109 represents the routeinstructions being played to the user.

Shown in FIG. 5 are several possible menu selections available to userswhile the route instructions are being played such as at step 109. Asshown in FIG. 5, users can start the playback of the retrieveddirections over from the beginning by stating “start over” or bypressing the “1” key on the keypad at step 110. After hearing each stepin the directions, the user can say “continue” or press the “2” key tohear the next step of the route instructions at step 112. At step 114,the user can pause the playback of the directions by stating “pause” orby pressing the “5” key. Playback can be resume by saying “resume” or bypressing the “5” key again. The menu selections available from the pausefeatures will be described in more detail below.

Referring to FIG. 6, shown are the available menu commands from thepause feature selected at step 114 of FIG. 5. In this illustrativeembodiment, a message indicating the instructions have been paused isplayed every 30 seconds. At step 130, the playback can be paused for upto 5 minutes. At step 132, the playback of the instructions is resumedby requesting “resume” or entering the “5” key. At step 134, the numberof invalid verbal or key entries are counted and maintained. In thepause menu of FIG. 5, the “resume” or “5” key are the only validentries. All other key entries (1, 2, 3, 4, 6, 7, 8, 9, 0, *, #) orverbal commands are invalid. If speech that cannot be interpreted asvalid commands are detected, the pause message is played no more thanevery 10 seconds. Invalid entries are indicated to the caller. At step136, if the number of invalid entries during the pause feature exceeds 3consecutive errors, the user may be having some difficulty with thesystem and is transferred to an operator console for assistance.

Referring again to FIG. 5, at step 116, requesting “spelling” orentering the “3” key causes the current step of the route instructionsto be repeated in a spelling mode by the user. The spelling mode spellsout the name of the streets contained in the directions. For example,the instructions “turn right on Elm” would also include the instruction“Elm is spelled E, L, M.” By providing the spelling of street names, thespelling mode makes the streets easier to find and the routeinstructions easier for a user to follow.

At step 118, saying “back up” or pressing the “7” key allows the user toback up to the previous step in the directions.

At step 120, saying “repeat” or by pressing the “8” key cause thecurrent direction step to be repeated. At step 122, the directions canbe skipped ahead one step by requesting “skip ahead” or by pressing 9.At step 124, operator assistance can be obtained by requesting“operator” or by pressing the “0” key. At step 126, the playback of theroute directions can be paused and the available instructions menu canbe played by requesting “instructions” or by pressing the star key *followed by zero.

After each step of the route instructions, if no command is given withina timeout period, the system will continue automatically to the nextroute instruction step. Preferably, the timeout is configurable by thesystem but is typically set to a range of 2-4 seconds. In addition, eachstep of the route instructions may be proceeded by a step numberidentifying that step of the route directions (e.g., Step X: Turn<direction> on <street>).

After each step of the directions at step 128, a determination is madewhether the end of the route instructions or directions has been reached(i.e., the last step) or there are additional steps in the routeinstructions remaining to reach the destination. Preferably, the laststep of the route instructions will indicate total trip distance andneed not be preceded by a step number.

At step 130, if there are additional route instruction steps remaining,the system is in a post step state to play the remaining directionsteps. At step 132, if the end of the route instructions have beenreached, the system is in a post step state ready to proceed to the nextstep of the directions.

Referring now to FIG. 7, shown are the commands available at step 130 ofFIG. 5 after each step of the directions have been played. As shown inFIG. 7, the playback of the route instruction can be started over fromthe beginning by stating “start over” or by pressing the “1” key on thekeypad at step 140. At step 142, the user can say “continue” or pressthe “2” key to proceed to hear the next step of the route instructions.At step 144, the user can pause the playback of the directions byrequesting “pause” or by pressing the “5” key. Playback can be resumedby requesting “resume” or by pressing the “5” key again. The menuselections available from the pause features are those previously shownin FIG. 6.

At step 146, the current step of the route instructions is repeated in aspelling mode. The spelling mode spells out the name of the streets inthe route instructions as described at step 116 of FIG. 5.

At step 148, saying “back up” or pressing the “7” key allows the user toback up to the previous step in the route instructions.

At step 150, the current step of the route instructions can be repeatedby saying “repeat” or by pressing 8. At step 152, the directions can beskipped ahead one step by saying “skip ahead” or by pressing 9. At step154, operator assistance can be obtained by requesting “operator” or bypressing the “0” key. At step 156, the playback can be paused and theavailable instructions menu can be played by requesting “instructions”or by pressing the star key * followed by zero.

At steps 158 and 160, unrecognized speech commands and invalid keyentries are handled. FIG. 8, shows allowing callers 3 chances to enter avalid selection. After an invalid selection at step 160, callers will beinformed of their invalid selection and given an opportunity to selectanother option at step 162. At step 164, the number of consecutiveinvalid selections are maintained. At step 166, after 3 invalidselections, users will be transferred to a live operator for assistance.Likewise, users will have 3 chances to speak a valid command or betransferred to a live operator. Preferably, the live operator will haveaccess to the user's session including his requests for information andthe received responses. FIGS. 9 through 12 show an illustrativeembodiment of a menu command structure for handling unrecognizedcommands.

FIGS. 9-11 shows exemplary error handling for unrecognized commandsreceived from the user. The exemplary embodiment of the error handlingshown in FIG. 9 allows 3 consecutive unrecognized commands or errorsbefore sending the user to a live operator 170 for assistance. Aftereach unrecognized command, the user may be given additional assistanceas shown in FIGS. 10 and 11.

FIG. 12 shows the menu commands at the post directions of step 132 ofFIG. 5. After the route directions have been played, the availablecommands are played back to the user at step 170. At step 172,requesting “start over” or entering a “1” key starts the direction overat the beginning. At step 174, requesting “repeat” or entering the “8”key repeats the current step direction. At step 176, requesting “backup” or entering the “7” key goes back to the beginning of the previousstep and continues the playback of the route directions. At step 178 theavailable instructions menu can be played by requesting “instructions”or by pressing the star key * followed by zero. At step 180, operatorassistance can be obtained by requesting “operator” or by pressing the“0” key. At steps 182 and 184, invalid entries and unrecognized commandsare handled as previously described.

The present embodiment may also be realized as a method of providinginformation over a telephone line. The method may be embodied in theform of executable code running on a processing system with a high-speedCentral Processing Unit (“CPU”) 48 and a memory system 52. In accordancewith the practices of persons skilled in the art of computerprogramming, the present invention is described below with reference toacts and symbolic representations of operations that are performed bythe computer processing system, unless indicated otherwise. Such actsand operations are sometimes referred to as being “computer-executed”,or “CPU executed.”

It will be appreciated that any symbolically represented operations oracts described include the manipulation of electrical signals by theCPU. The electrical system represent data bits which cause a resultingtransformation or reduction of the electrical signal representation, andthe maintenance of data bits at memory locations in the memory system tothereby reconfigure or otherwise alter the CPU's operation, as well asother processing of signals. The memory locations where data bits aremaintained also include physical locations that have particularelectrical, magnetic, optical, or organic properties corresponding tothe stored data bits.

The data bits may also be maintained on a computer readable mediumincluding magnetic disks, optical disks, organic disks, and any othervolatile or (e.g., Random Access memory (“RAM”)) non-volatile (e.g.,Read Only Memory (“ROM”)) storage system readable by the CPU. Thecomputer readable medium includes cooperating or interconnected computerreadable media, which exist exclusively on a processing system or isdistributed among multiple interconnected processing systems that may belocal or remote to the processing system.

The present embodiment preferably includes a software module as a set ofcomputer executable software instructions. The software instructions areexecuted as data bits by the CPU with a computer memory system. Thesoftware instructions cause CPU to access the gain lookup tablepreferably stored in data memory. In an alternate embodiment, thesoftware instructions may evaluate a function to calculate theappropriate amplification gain without requiring an access to a gainlookup table stored in memory. The executable code may implement, forexample, the methods described in further detail below.

Referring to FIG. 13, the starting location, usually the currentlocation of the caller, can be determined at step 200 using an ALItechnology. The ALI can identify the location of the caller implementingany of the ALI technologies previously described. The caller's locationcan then be used to populate the call detail, which is passed onto tothe operator console to be available for the operator during thetransaction with the caller.

At step 202, the starting location determined in step 200 can be usedwith a selected destination location and a route between the twolocations can be mapped. In an illustrative embodiment, a database canprovide the geographical locations of the starting and destinationlocations. The route is mapped between the geographical starting anddestination locations with a software program. Preferably, a routedatabase is used to determine the route between the two starting anddestination locations as previously described above. At step 204, thestep-by-step street driving route instructions are determined to providespecific directions from the staring location to the destinationlocation. The route instructions can be determined according using arouting database as previously described.

At step 206, the step-by-step route instructions are segmented anddemarcated between each step of the instructions. For example, at eachpoint in the instructions where the route instruction instructs thecaller to changes from one road to another i.e., “turn right on ELM,”“turn right on Main Street.” The segmentation of the route instructionsprovides convenient points for the interactive user interface to stop,pause, and repeat the driving instructions. Use of the demarcated routeinstructions to provide a convenient mechanism for the call to controlthe playback of route driving instructions is described previouslyabove.

At step 208, the interactive user interface communicates the demarcatedroute instructions. The interactive user interface provides a convenientinterface to allow the user to receive route instructions over thetelephone. The user interface preferably uses the demarcated routeinstructions to allow a user to control the playback of the instructionsas described in reference to FIGS. 4-12.

The present embodiment preferably includes logic as a computerexecutable software instructions. The software can be adapted to beexecuted by any general purpose Computer Processing Unit (“CPU”) ormicroprocessor controlling the operation of the system. Although theillustrative system uses an IBM RISC 6000 computer system may othercomputer systems/microprocessors are suitable for implementing thedescribed system and methods. The microprocessor executes software thatcan be programmed by those of skill in the art to provide the desiredfunctionality as described in the included Figures. The software can berepresent as a sequence of binary bits maintained on a computer readablemedium including magnetic disks, optical disks, organic disks, and anyother volatile or (e.g., Random Access memory (“RAM”)) non-volatilefirmware (e.g., Read Only Memory (“ROM”)) storage system readable by theCPU. The memory locations where data bits are maintained also includephysical locations that have particular electrical, magnetic, optical,or organic properties corresponding to the stored data bits. Thesoftware instructions are executed as data bits by the CPU with a memorysystem causing a transformation of the electrical signal representation,and the maintenance of data bits at memory locations in the memorysystem to thereby reconfigure or otherwise alter the system's operation.

The illustrative embodiment improves the usability of the system andimproves the productivity of the operator console position. Theautomatic location identification a eliminates the need for callers toidentify their location when calling into the system for assistance. Theautomatic location identification also speeds the handling of calls atthe operator console by eliminating the step of querying the caller forhis location. The interactive user interface allows the user to moreeasily obtain the route instructions by providing a mechanism to startand stop the directions at convenient points. The interactive userinterface also improves the productivity of the operator console byallowing the operator to pass the caller off to the interactive userinterface and move on to handle the next caller.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory and areintended to provide further explanation of the invention as claimed.Numerous modifications and variations are possible. For example, thesteps of the flow diagrams may be taken in sequences other than thosedescribed and the invention may be practiced with more or fewer elementsthan those shown. It is intended that the foregoing detailed descriptionbe regarded as illustrative rather than limiting. It is the followingclaims, including all equivalents, which are intended to define thescope of this invention.

We claim:
 1. A system for providing a telephone caller driving routeinstructions from a calling location to a destination locationcomprising: an automatic location identification for automaticallyidentifying the calling location from where the telephone calleroriginated the telephone call; a database for mapping route instructionsfrom the calling location to the destination location, wherein the routeinstructions are coded at demarcated points to allow for manipulation ofthe route instructions during playback; and an interactive userinterface accessible over a telephone call for communicating routeinstructions to the telephone caller, wherein the interactive userinterface provides a user with commands at each demarcated point tomanipulate, during playing, the playback of the route instructions. 2.The system of claim 1 wherein the automatic location identification foridentifying the calling location further comprises: automatic numberidentification for identifying the calling party telephone number; and atelephone number database for determining the address of the callingparty telephone number.
 3. The system of claim 2 wherein the telephonenumber database comprises a name, address and telephone number database(NATD) containing geo-code information identifying the geographiclocation of the telephone caller.
 4. The system of claim 3 wherein thegeo-code information identifying the geographical location compriseslongitude and latitude coordinates.
 5. The system of claim 1 wherein theroute instructions comprise street driving instructions between thecalling location and the destination location.
 6. The system of claim 1wherein the route instructions are step-by-step driving instructionswhich have been demarcated at each step of the instructions.
 7. Thesystem of claim 1 wherein the automatic location identificationidentifies the caller location comprising a dedicated radio-locationnetwork.
 8. The system of claim 1 wherein the automatic locationidentification identifies the caller location comprising a GPS locationsystem.
 9. The system of claim 1 the interactive user interfacecomprising: a gateway for translating the route instructions to an audiobox for speech synthesis; and an audio box for receiving the translatedroute instructions and verbalizing the route instructions.
 10. A systemfor providing a telephone caller driving instructions from a callinglocation to a destination location comprising: an automatic locationidentification for automatically identifying the calling location fromwhere the telephone caller originated the telephone call, comprising:automatic number identification for identifying the calling partytelephone number; and a telephone number database for determining theaddress of the calling party telephone number; a database for mappingroute instructions from the calling location to the destinationlocation, wherein the route instructions are coded at demarcated pointsto allow for manipulation of the route instructions during playback; andan interactive user interface accessible over a telephone call forcommunicating route instructions to the telephone caller, wherein theinteractive user interface provides a user commands at each demarcatedpoint to manipulate, during playing, the playback of the routeinstructions, comprising: a gateway for translating the routeinstructions to an audio box for speech synthesis; and an audio box forreceiving the translated route instructions and verbalizing the routeinstructions.
 11. A method of providing driving instructions between astarting location and destination location to a telephone callercomprising the steps of: locating the starting location using anautomatic location identification technology; mapping a driving routebetween the starting location and the destination location; determiningstep-by-step driving instructions in accordance with the step of mappingthe driving route; coding the driving instructions at each step of thedirections into segments, wherein the coded driving instructions can bemanipulated during playback by commands provided to a user at eachsegment using an interactive user interface; and communicating thedriving instructions over a telephone line with an interactive userinterface adapted to communicate the coded driving instructions.
 12. Themethod of claim 11 wherein the interactive user interface comprises thecapability of pausing the instructions at a coded segment.
 13. Themethod of claim 11 wherein the interactive user interface comprises thecapability of repeating the segment of the instructions at a codedsegment.
 14. The method of claim 11 wherein the interactive userinterface comprises the capability of repeating the instructions fromthe beginning at a coded segment.
 15. A system for providing a telephonecaller driving route instructions from a starting location to adestination location comprising: a database for mapping routeinstructions from the starting location to the destination location,wherein the route instructions are coded at demarcated points to allowfor manipulation of the route instructions during playback; and aninteractive user interface accessible over a telephone call forcommunicating route instructions to the telephone caller, wherein theinteractive user interface provides a user with commands at eachdemarcated point to manipulate, during playing, the playback of theroute instruction.
 16. The system of claim 15 wherein the commands areactivated by a telephone caller's voice.
 17. The system of claim 15wherein the commands are activated by a depressing a key from the DTMFkeypad.
 18. The system of claim 15 wherein the route instructionscomprise street driving instructions between the starting location andthe destination location.
 19. The system of claim 15 wherein the routeinstructions are step-by-step driving instructions which have beendemarcated at each step of the instructions.
 20. The system of claim 15the interactive user interface comprising: a gateway for translating theroute instructions; and an audio box for receiving the translated routeinstructions and verbalizing the route instructions.
 21. A system forproviding a telephone caller driving route instructions from a startinglocation to a destination location comprising: a database for mappingroute instructions from the starting location to the destinationlocation, wherein the route instructions are coded at demarcated pointsto allow for manipulation of the route instructions during playback; aninteractive user interface accessible over a telephone call forcommunicating route instructions to the telephone caller, wherein theinteractive user interface provides a user with commands at eachdemarcation point to manipulate, during playing, the playback of theroute instructions; a gateway for translating the route instructions toan audio box for speech synthesis; and an audio box for receiving thetranslated route instructions and verbalizing the route instructions.